home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1995 July & August / cd No4 joystick No62.iso / pc / cadeaux / df / de1m1-d!.exe / DARK / SECBASE.INF < prev    next >
Encoding:
Text File  |  1995-05-14  |  9.5 KB  |  239 lines

  1. INF 1.0
  2. /* -------------------------------------------------------------------------- */
  3. /* DFUSE DEMO for DOOM level designers                                        */
  4. /*                                                                            */
  5. /* DOOM E1M1 is probably a level all of you know by heart!                    */
  6. /*                                                                            */
  7. /* This is a Dark Forces conversion of the complete level, except the THINGS. */
  8. /* A few textures haven't been ported and others are just plain wrong, but    */
  9. /* this isn't the aim of this conversion.                                     */
  10. /*                                                                            */
  11. /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
  12. /*                                                                            */
  13. /* It has been done ONLY to show you how to port your DOOM expertise to DF.   */
  14. /*                                                                            */
  15. /* Remember that this level is iD Software's property, so:                    */
  16. /*   * you MAY NOT add objects to this level or distribute in any way that    */
  17. /*                 makes it 'fun' to play (as opposed to 'educative').        */
  18. /*   * you MAY NOT use the DOOM textures and flats in .BM format elsewhere.   */
  19. /*                                                                            */
  20. /* Also, just in case you just returned from Alpha Centauri and haven't seen  */
  21. /* DOOM yet, know that iD Software's textures are much prettier than these !  */
  22. /* (ie my palette conversion is a bit lame!)                                  */
  23. /*                                                                            */
  24. /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
  25.  
  26. LEVELNAME SECBASE
  27.  
  28. items 17
  29.  
  30. /* A note on elevators : don't try to send messages at their very first       */
  31. /* stop. IT DOESN'T WORK !                                                    */
  32.  
  33.  
  34. /* COMPLETE ELEVATOR                                                          */
  35. /* -----------------                                                          */
  36. /* First, turn on the post_office to show a few text strings on the screen.   */
  37. /*                                                                            */
  38. /* We will want to have the player complete two things in this level          */
  39. /* (see .GOL) So we will provide two 'hold' points at 80 and 90 before        */
  40. /* letting it go to completion. Note I set a speed of 1000 so that it will    */
  41. /* be impossible to trigger something before the elevator reaches 80!         */
  42. /* Remember GOAL ITEM: generate next_stop messages to the complete sector !   */
  43. /* When it reaches stop: 99 complete, the level is completed fully.           */
  44.  
  45.  item: sector            name: complete
  46.         seq
  47.            class: elevator move_floor
  48.                   event_mask: 0
  49.                   speed: 1000
  50.                   stop: 0     0
  51.                   stop: 1     0
  52.                         message: 1 post_office master_on
  53.                   stop: 80    hold
  54.                   stop: 90    hold
  55.                   stop: 99    complete
  56.                   stop: 99.9  hold
  57.         seqend
  58.  
  59. /* POST_OFFICE                                                                */
  60. /* -----------                                                                */
  61. /* Send 5 messages at 4 seconds intervals.                                    */
  62.  
  63.  item: sector            name: post_office
  64.         seq
  65.            class: elevator move_floor
  66.                   master: off
  67.                   stop: 0     0
  68.                   stop: 1     4
  69.                         message: 1 startmsg01
  70.                   stop: 2     4
  71.                         message: 2 startmsg02
  72.                   stop: 3     4
  73.                         message: 3 startmsg03
  74.                   stop: 4     4
  75.                         message: 4 startmsg04
  76.                   stop: 5     4
  77.                         message: 5 startmsg05
  78.                   stop: 9     terminate
  79.         seqend
  80.  
  81.  
  82. /* this will only output a message defined in the text.msg file               */
  83. /* note that 'text:' doesn't seem to work in an elevator                      */
  84.  item: sector            name: startmsg01
  85.         seq
  86.            class: trigger
  87.                   text: 900
  88.                   message: done
  89.         seqend
  90.  
  91.  item: sector            name: startmsg02
  92.         seq
  93.            class: trigger
  94.                   text: 901
  95.                   message: done
  96.         seqend
  97.  
  98.  item: sector            name: startmsg03
  99.         seq
  100.            class: trigger
  101.                   text: 902
  102.                   message: done
  103.         seqend
  104.  
  105.  item: sector            name: startmsg04
  106.         seq
  107.            class: trigger
  108.                   text: 903
  109.                   message: done
  110.         seqend
  111.  
  112.  item: sector            name: startmsg05
  113.         seq
  114.            class: trigger
  115.                   text: 904
  116.                   message: done
  117.         seqend
  118.  
  119. /*  will change the ambient light 'randomly'                                  */
  120. /*  This demonstrate that you can use duplicated or unsorted stop values      */
  121.  item: sector            name: start_door
  122.         seq
  123.            class: elevator change_light
  124.                   stop: 31 0
  125.                   stop: 17 0
  126.                   stop: 10 0
  127.                   stop: 31 0
  128.                   stop: 5  0
  129.                   stop: 22 0
  130.                   stop: 22 0
  131.                   stop: 28 0
  132.                   stop: 31 0
  133.                   stop: 20 0
  134.         seqend
  135.  
  136. /* [NEW] This will rotate the pedestal, note that the elevator is in the      */
  137. /* outer sector, as the walls you see belong to that one. Also note that the  */
  138. /* WL flag 1, bit 256 'Allow scroll BOT texture' must be set.                 */
  139.  item: sector            name: extern_pedestal
  140.         seq
  141.            class: elevator scroll_wall
  142.                   speed: 30
  143.                   angle: 90
  144.         seqend
  145.  
  146. /* this will pulsate the ambient light in tech_col1,                          */
  147. /* but also in a 'slave' sector : tech_col2                                   */
  148.  item: sector            name: tech_col1
  149.         seq
  150.            class: elevator change_light
  151.                   stop: 20 0
  152.                   stop: 2  0
  153.                   slave: tech_col2
  154.         seqend
  155.  
  156. /* this will pulsate the ambient light in pulsate00,                          */
  157. /* but also in 2 'slave' sectors : pulsate00_1 and pulsate00_2                */
  158.  item: sector            name: pulsate00
  159.         seq
  160.            class: elevator change_light
  161.                   stop: 31 0
  162.                   stop: 16 0
  163.                   slave: pulsate00_1
  164.                   slave: pulsate00_2
  165.         seqend
  166.  
  167. /* this will go down and activate the zigzag(0) trigger, then                 */
  168. /* terminate (ie stop listening to messages)                                  */
  169.  item: sector    name: imp_platform
  170.         seq
  171.             class: elevator move_floor
  172.                    stop: 12    hold
  173.                    stop: 11.99 0
  174.                       message: 1 TRIGimp_platform(0) done
  175.                    stop: 11.98 0
  176.                       message: 2 TRIGimp_platform(0) master_off
  177.                       message: 2 zigzag(0) master_on
  178.                    stop: -5    terminate
  179.         seqend
  180.  
  181. /* this will bring down imp_elevator when CROSSED FROM OUTSIDE                */
  182.  item: line      name: TRIGimp_platform     num: 0
  183.         seq
  184.             class: trigger standard
  185.                    event_mask: 2
  186.                    client: imp_platform
  187.                    message: next_stop
  188.         seqend
  189.  
  190. /* this will go down for 3 seconds then go back up, so hurry!                 */
  191.  item: sector    name: secret_platform
  192.         seq
  193.             class: elevator move_floor
  194.                    stop: 13 hold
  195.                    stop: -6 3
  196.                          message: 1 zigzag(0) done
  197.         seqend
  198.  
  199. /* this will bring down secret_elevator when CROSSED FROM OUTSIDE             */
  200. /* as a demo, it will also emit the text "HURRY !" when crossed.              */
  201. /* But this text need only be shown when imp_platform is down, so we will     */
  202. /* start this trigger with master: off, and set it to on in imp_platform.     */
  203.  item: line      name: zigzag     num: 0
  204.         seq
  205.             class: trigger standard
  206.                    event_mask: 2
  207.                    client: secret_platform
  208.                    message: next_stop
  209.                    text: 908
  210.                    master: off
  211.         seqend
  212.  
  213. /* This works perfectly well with event_mask = 16 for nudging the switch.     */
  214. /* As a demo, I also included event_mask = 256 and entity_mask: * for firing  */
  215. /* (entity_mask: 8 would be sufficient for firing, but then nudge wouldn't    */
  216. /* work anymore)                                                              */
  217. /* Note the complete 1 message, signaling that goal 1 has been completed      */
  218.  
  219.  item: line      name: the_end    num: 5
  220.         seq
  221.             class: trigger switch1
  222.                    event_mask: 272
  223.                    entity_mask: *
  224.                    client: complete
  225.                    message: complete 1
  226.                    text: 909
  227.         seqend
  228.  
  229. /* this will give a little life to the nukage pools                           */
  230.  item: sector    name: nukage_ext
  231.         seq
  232.             class: elevator scroll_floor
  233.                    angle: 90
  234.                    speed: 0.5
  235.                    slave: nukage00
  236.                    slave: nukage01
  237.                    slave: nukage02
  238.         seqend
  239.